In recent years, digital photography and computerized image storage have become increasingly popular. Images typically require a large amount of storage space. Accordingly, storage systems for computerized images have become available over the Internet, thereby minimizing storage consumption by images on individual computer systems.
Such storage systems are often adapted to accommodate the sharing of images over the Internet with multiple users. A central service can provide individuals with storage for images and upon receiving approval from those individuals, can allow other authorized individuals to view the images. Currently available systems allow users to store photographs by visiting a web site and uploading images. One available web site includes a data management system that monitors storage on a per user basis using an extensible markup language (XML) file. As the number of users increases, such a storage system suffers from performance defects. Furthermore, when the amount of storage space becomes inadequate and requires expansion, the system lacks scalability and its performance suffers.
Although keeping track of storage space on a per user basis with XML files is simple, the technique has proven to be inefficient. Upon experiencing extensive use, the XML files become burdensome and require additional storage space. System processing units become very busy, memory usage becomes excessive, and performance becomes inadequate. Another disadvantage of the XML technique is that when a user wants to retrieve only one piece of data, the system is required to parse the entire XML file to locate the data.
Some of these inadequacies can be remedied by increasing system hardware. Another possible solution involves moving from XML to a binary format. However, both of these solutions suffer from other disadvantages.
Accordingly, a new solution is needed for storing images and making the images available for sharing over a network. A system for storing images is needed that is readily scalable to accommodate the needs of a growing number of users. Furthermore, a storage system is needed that is secure, robust, and extensible.